home *** CD-ROM | disk | FTP | other *** search
- #ifndef FWARSTRM_H
- #define FWARSTRM_H
- //========================================================================================
- //
- // File: FWArStrm.h
- // Release Version: $ 1.0d1 $
- //
- // Creation Date: 3/28/94
- //
- // Copyright: © 1994 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWSTRMRW_H
- #include "FWStrmRW.h"
- #endif
-
-
- //========================================================================================
- // Forward class declarations
- //========================================================================================
-
- class FW_CObjectRegistry;
-
-
- //========================================================================================
- // Class FW_CReadableArchive
- //========================================================================================
-
- class FW_CReadableArchive : public FW_CReadableStream
- {
-
- public:
-
- typedef void* (* InputFunction)(FW_CReadableArchive& readableArchive);
-
- FW_CReadableArchive(FW_CSink* sink,
- FW_CReadableStreamFormatter* formatter = 0,
- FW_CObjectRegistry* objectRegistry = 0);
-
- ~FW_CReadableArchive();
-
- void* InputObject(InputFunction inputFunction);
- // Reads object data for static and dynamic classes from the readableArchive.
-
- protected:
-
- FW_Boolean fArchiveCreatedObjectRegistry;
- FW_CObjectRegistry* fObjectRegistry;
-
- private:
- FW_CReadableArchive(const FW_CReadableArchive& readableArchive);
- FW_CReadableArchive& operator=(const FW_CReadableArchive& archive);
- // Copy constructor and assignment operator not valid for this class.
- };
-
-
- //========================================================================================
- // Class FW_CWritableArchive
- //========================================================================================
-
- class FW_CWritableArchive : public FW_CWritableStream
- {
-
- public:
-
- typedef void (* OutputFunction)(FW_CWritableArchive & archive, const void *object);
-
- FW_CWritableArchive(FW_CSink* sink,
- FW_CWritableStreamFormatter* formatter = 0,
- FW_CObjectRegistry* objectRegistry = 0);
-
- ~FW_CWritableArchive();
-
- void OutputObject(OutputFunction outputFunction,
- const void* object);
- // Writes object data for static and dynamic classes to the writableArchive.
-
- protected:
-
- FW_Boolean fArchiveCreatedObjectRegistry;
- FW_CObjectRegistry* fObjectRegistry;
-
- private:
- FW_CWritableArchive(const FW_CWritableArchive& readableArchive);
- FW_CWritableArchive& operator=(const FW_CWritableArchive& archive);
- // Copy constructor and assignment operator not valid for this class.
- };
-
- #endif
-